package tech.aistar.corejava.day11;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * @author success
 * @version 1.0
 * @description:本类用来演示:
 * @date 2019/7/29 0029
 */
public class ArrayListCreateDemo {
    public static void main(String[] args) {
        //List - 有序[存放和获取的位置的顺序是一一匹配的]可重复
        //1. 创建集合的几种方式
        //JDK5.0之前 - 任意类型都是可以添加到容器中的.
        //面向接口编程
        List list = new ArrayList();
        list.add(1);//ok
        list.add("ok");//ok
        list.add("ok");//可重复的- 可以存放相同的数据的.
        list.add(true);//ok
        list.add(new Date());//ok
        list.add(null);//ok

        //s1 = 1 tom   ;   s2 = 1 tom  ;// getter/setter 构造 toString
        //list.add(s1);   list.add(s2);

        //支持直接输出
        System.out.println(list);//[1, ok, ok, true, Mon Jul 29 09:19:14 SGT 2019, null]

        //JDK5.0及其以后[但是在JDK7.0之前],JCF引入了泛型的概念
        //泛型的出现是为了保证集合中的数据类型的安全.
        //泛型的概念一旦引入之后,那么我们的JCF - 类型安全的集合框架

        //注意:泛型只用使用对象类型
        List<String> strList = new ArrayList<String>();
        //该容器只能存放String类型的数据了
        //strList.add(1);//error
        strList.add("宝马");//ok
        strList.add(null);//ok
        System.out.println(strList);


        //JDK7.0及其以后
        //new ArrayList<>()的<>中的泛型可以省略不写.
        List<Integer> intList = new ArrayList<>();
        intList.add(100);


    }
}
